<?php

namespace Kaller\TicketsBundle\Entity;

/**
 * Kaller\TicketsBundle\Entity\Category
 *
 * @orm:Table()
 * @orm:Entity
 */
class Category
{
    /**
     * Belső azonosító
     *
     * @var integer $id
     *
     * @orm:Column(name="id", type="integer")
     * @orm:Id
     * @orm:GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * A szülő azonosítója (ha van)
     * (egyébként 0)
     *
     * @var integer $parent_id
     *
     * @orm:Column(name="parent_id", type="integer")
     *
     * @orm:ManyToOne(targetEntity="Category")
     */
    private $parent_id;

    /**
     * Kategória neve
     *
     * @var $name
     *
     * @orm:Column(name="name", type="string", length=255)
     */
    private $name;


    /**
     * A kategória típusa. Pl. User, Group, Ticket, Premade kategória
     *
     * @var string $type
     *
     * @orm:Column(name="type", type="string", length=255)
     */
    private $type;

     /**
     *
     * Visszaadja a hozzá tartozó 1 szinttel alatta levő alkategóriákat (ha van)
     *
     */
    public function getSubCategories()
    {
        //return ...
    }


    /************************* Getters and Setters *************************/


    /**
     * Get id
     *
     * @return integer $id
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set parent_id
     *
     * @param integer $parentId
     */
    public function setParentId($parentId)
    {
        $this->parent_id = $parentId;
    }

    /**
     * Get parent_id
     *
     * @return integer $parentId
     */
    public function getParentId()
    {
        return $this->parent_id;
    }

    /**
     * Set name
     *
     * @param string $name
     */
    public function setName($name)
    {
        $this->name = $name;
    }

    /**
     * Get name
     *
     * @return string $name
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * Set type
     *
     * @param string $type
     */
    public function setType($type)
    {
        $this->type = $type;
    }

    /**
     * Get type
     *
     * @return string $type
     */
    public function getType()
    {
        return $this->type;
    }
}